GtkAppChooserDialog *self = user_data;
GError *error = NULL;
+ gdk_threads_enter ();
+
_gtk_app_chooser_online_search_for_mimetype_finish (online, res, &error);
if (error != NULL)
{
gtk_app_chooser_refresh (GTK_APP_CHOOSER (self->priv->app_chooser_widget));
}
+
+ gdk_threads_leave ();
}
static void
{
GtkAppChooserDialog *self = user_data;
+ gdk_threads_enter ();
+
self->priv->online = _gtk_app_chooser_online_get_default_finish (source, res);
if (self->priv->online != NULL)
gtk_widget_show (self->priv->online_button);
}
+
+ gdk_threads_leave ();
}
static void
if (queried == NULL)
return;
+ GDK_THREADS_ENTER ();
+
/* now we know model is valid */
/* file was deleted */
if (!_gtk_file_system_model_get_iter_for_file (model, &iter, file))
- return;
+ {
+ GDK_THREADS_LEAVE ();
+ return;
+ }
info = g_file_info_dup (_gtk_file_system_model_get_info (model, &iter));
_gtk_file_system_model_update_file (model, file, info, FALSE);
g_object_unref (info);
+
+ GDK_THREADS_LEAVE ();
}
static gboolean
return;
}
+ gdk_threads_enter ();
+
folder = GTK_FOLDER (user_data);
gtk_folder_add_file (folder, file, info);
g_slist_free (files);
g_object_unref (info);
+ gdk_threads_leave ();
}
static void
if (info == NULL)
return;
+ gdk_threads_enter ();
_gtk_file_system_model_update_file (model, file, info, TRUE);
+ gdk_threads_leave ();
}
static void
model);
break;
case G_FILE_MONITOR_EVENT_DELETED:
+ gdk_threads_enter ();
remove_file (model, file);
+ gdk_threads_leave ();
break;
case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
/* FIXME: use freeze/thaw with this somehow? */
{
case G_FILE_MONITOR_EVENT_CHANGED:
case G_FILE_MONITOR_EVENT_CREATED:
+ gdk_threads_enter ();
gtk_recent_manager_changed (manager);
+ gdk_threads_leave ();
break;
case G_FILE_MONITOR_EVENT_DELETED:
recent_data.groups = NULL;
recent_data.is_private = FALSE;
+ gdk_threads_enter ();
+
/* Ignore return value, this can't fail anyway since all required
* fields are set */
gtk_recent_manager_add_full (manager, uri, &recent_data);
manager->priv->is_dirty = TRUE;
gtk_recent_manager_changed (manager);
+ gdk_threads_leave ();
+
g_free (recent_data.mime_type);
g_free (recent_data.app_name);
g_free (recent_data.app_exec);
GList *hits;
gboolean success;
+ gdk_threads_enter ();
+
tracker = GTK_SEARCH_ENGINE_TRACKER (user_data);
cursor = TRACKER_SPARQL_CURSOR (object);
if (cursor)
g_object_unref (cursor);
+ gdk_threads_leave ();
return;
}
if (cursor)
g_object_unref (cursor);
+ gdk_threads_leave ();
return;
}
/* Get next */
cursor_next (tracker, cursor);
+
+ gdk_threads_leave ();
+
}
static void
TrackerSparqlCursor *cursor;
GError *error = NULL;
+ gdk_threads_enter ();
+
tracker = GTK_SEARCH_ENGINE_TRACKER (user_data);
tracker->priv->query_pending = FALSE;
{
_gtk_search_engine_error (GTK_SEARCH_ENGINE (tracker), error->message);
g_error_free (error);
+ gdk_threads_leave ();
return;
}
if (!cursor)
{
_gtk_search_engine_finished (GTK_SEARCH_ENGINE (tracker));
+ gdk_threads_leave ();
return;
}
cursor_next (tracker, cursor);
+ gdk_threads_leave ();
}
static void